package com.jasmine.bjstkserver.mapper;

import com.jasmine.bjstkserver.server.picture.model.PictureEntity;
import com.jasmine.bjstkserver.server.picture.model.PictureReq;
import com.jasmine.bjstkserver.server.picture.model.PictureRes;
import com.jasmine.core.config.tkmapper.BjsMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author : jasmineXz
 */
public interface PictureMapper extends BjsMapper<PictureEntity> {

    /**
     * 查询列表
     */
    List<PictureRes> findList(PictureReq picture);


    /**
     * 检查是否重复上传
     * 根据[原文件名称 + 用户ID]判断是否重复
     */
    Integer checkRepeat(PictureReq pictureReq);

    /**
     * 将文件夹下的文件重置到未分类中
     * @param userId 用户ID
     * @param folderId 文件夹ID
     */
    Integer resetFolder(@Param("userId") Integer userId, @Param("folderId") Integer folderId);

    /**
     * 修改文件的文件夹
     * @param pictureReq
     *  PictureIds  : 文件ID数组
     *  folderId : 文件夹名称
     */
    Integer changeFolder(PictureReq pictureReq);



    /* ------------------- 统计 ------------------- */


    /**
     * 图片统计
     * @param pictureReq 查询信息
     * @return 统计信息
     */
    Map<String,Object> statistics(PictureReq pictureReq);
}
